package com.yeyks.commonReference.service.activity;

import com.yeyks.activity.dal.domain.ActivityList;
import com.yeyks.activity.dto.ActivityListDTO;
import com.yeyks.activity.param.ActivityPrizeOneAddParam;
import com.yeyks.activity.param.ActivityPrizeOneUpdateParam;
import com.yeyks.activity.param.ActivityPrizeTwoAddParam;
import com.yeyks.activity.param.ActivityPrizeTwoUpdateParam;
import com.yeyks.common.base.PageResult;
import com.yeyks.common.param.PageParam;
import com.yeyks.common.result.activity.*;
import com.yeyks.other.dal.domain.CouponInfo;

import java.util.List;

/**
 * @author shuai
 * @date 2019/11/28 10:22
 */
public interface ActivityWebBaseService {

    /**
     * 活动列表
     *
     * @return
     */
    PageResult<ActivityList> getActivityList(PageParam page);

    /**
     * 添加一级奖品
     *
     * @param param
     * @return
     */
    Integer onePrizeAdd(ActivityPrizeOneAddParam param);

    /**
     * 添加二级奖品
     *
     * @param param
     * @return
     */
    Boolean twoPrizeAdd(ActivityPrizeTwoAddParam param);

    /**
     * 修改一级奖品
     *
     * @param param
     * @return
     */
    Boolean onePrizeUpdate(ActivityPrizeOneUpdateParam param);

    /**
     * 删除一级奖品
     *
     * @param prizeId
     */
    Boolean onePrizeDel(Integer prizeId);

    /**
     * 删除二级奖品
     *
     * @param prizeId
     * @return
     */
    Boolean twoPrizeDel(Integer prizeId);

    /**
     * 修改二级奖品
     *
     * @param param
     * @return
     */
    Boolean twoPrizeUpdate(ActivityPrizeTwoUpdateParam param);

    /**
     * 双旦券列表
     *
     * @param type 券类型
     * @return
     */
    List<CouponInfo> couponList(Integer type);

    /**
     * 活动详情
     *
     * @param id 活动id
     * @return
     */
    ActivityListDTO detail(Integer id);
}
